#pragma once
#include "Entity.h"
#include "TextureCube.h"

namespace Graphics{
	class SkySphere{
	public:
		SkySphere(std::string& top, std::string& bottom, std::string& left, std::string& right, std::string& front, std::string& back);

		void render(RenderContext* context);

		void setTextures(std::string& top, std::string& bottom, std::string& left, std::string& right, std::string& front, std::string& back);
		void fadeToTextures(std::string& top, std::string& bottom, std::string& left, std::string& right, std::string& front, std::string& back, float fadeTime);
	private:
		TextureCubePtr m_texCube;
		VertexBufferPtr m_vertBuff;
		IndexBufferPtr m_indBuff;

		int m_vertShader,m_pixelShader,m_indCount;
	};

	typedef boost::shared_ptr<SkySphere> SkySpherePtr;
}